library(yaml)
library('stringr')
pramas = read_yaml('index.yml')

# 根据 property，并且结合 不同的属性，来自由组合文字，同时做了如果没有该属性，该如何进行判断的 空置处理。
property_or_not = function(data, property){
  if(is.null(data[[property]]) || data[[property]]==''){
    return(
      ''
    )
  }else{
    if(property == '出生年月'){
      return(
        paste0(
          data[[property]],
          '出生，'
        )
      )
    }else if(property == '身份证号'){
      return(
        paste0(
          '身份证号：',
          data[[property]],
          '，'
        )
      )
    }else if(property == '联系电话'){
      return(
        paste0(
          '联系电话：',
          data[[property]],
          '，'
        )
      )
    }else{
      return(
        paste0(
          data[[property]],
          '，'
        )
      )
    }
  }
}

line = function(data, vct){
  str = ''
  for(i in 1:length(vct)){
    str = paste0(
      str,
      property_or_not(data, vct[i])
    )
  }
  return(str)
}

line_head = function(head, str){
  return(
    paste0(
      head,
      '：',
      str
    )
  )
}

# line_民事起诉状 = line_head(params$发诉方$诉讼地位, line(data, vct))
# print(pramas$发诉方$诉讼地位)

# 1. 句子最后一个逗号，变为句号。
# 1. 将句子变为段落
line_to_paragragh = function(str){
  str = str_sub(str, 1,-2)
  str = paste0('<p>', str, '。', '</p>')
  return(str)
}

paragraph = function(data, vct){
  str = line_head(pramas$发诉方$诉讼地位, line(data, vct))
  line_to_paragragh(str)
}

paragraphs = function(data, vct){
  str = ''
  for(i in 1:length(data)){
    str = paste0(
      str,
      paragraph(data[[i]], vct)
    )
  }
  return(str)
}

# paragraphs_发诉方_民事起诉状 = 
paragraphs(pramas$发诉方$list, c('姓名', '性别', '民族', '职业', '出生年月', '现住', '身份证号', '联系电话'))
paragraphs(pramas$发诉方$list, c('姓名', '性别', '出生年月', '民族', '现住'))

